Support arrays in type reflection#151031
Merged
rust-bors[bot] merged 2 commits intorust-lang:mainfrom Jan 14, 2026
Merged
Conversation
Collaborator
|
|
BD103
commented
Jan 12, 2026
Contributor
Author
There was a problem hiding this comment.
Please pay special attention to my changes in this file, as this is where I feel least confident in my understanding of the code!
This comment has been minimized.
This comment has been minimized.
oli-obk
reviewed
Jan 13, 2026
Contributor
Author
|
@rustbot author |
Collaborator
|
Reminder, once the PR becomes ready for a review, use |
Contributor
Author
|
@rustbot ready |
Contributor
|
@bors r+ rollup |
Contributor
GuillaumeGomez
added a commit
to GuillaumeGomez/rust
that referenced
this pull request
Jan 13, 2026
Support arrays in type reflection Tracking issue: rust-lang#146922 This PR adds support for inspecting arrays `[T; N]` through type reflection. It does so by adding `TypeKind::Array` and the `Array` struct: ```rust pub struct Array { pub element_ty: TypeId, pub len: usize, } ``` This can be used to inspect arrays like so: ```rust match const { Type::of::<[u16; 4]>() }.kind { TypeKind::Array(array) => { assert_eq!(array.element_ty, TypeId::of::<u16>()); assert_eq!(array.len, 4); } _ => unreachable!(), } ``` r? @oli-obk
This was referenced Jan 13, 2026
rust-bors bot
pushed a commit
that referenced
this pull request
Jan 14, 2026
Rollup of 13 pull requests Successful merges: - #150587 (triagebot: add A-rustdoc-js autolabel) - #150677 (Improve std::path::Path::join documentation) - #150737 (diagnostics: make implicit Sized bounds explicit in E0277) - #150771 (Remove legacy homu `try` and `auto` branch mentions) - #150840 (Make `--print=check-cfg` output compatible `--check-cfg` arguments) - #150915 (Regression test for type params on eii) - #151017 (Port the rustc dump attributes to the attribute parser) - #151019 (Make `Type::of` support unsized types) - #151031 (Support arrays in type reflection) - #151043 (armv7-unknown-linux-uclibceabihf.md: Fix bootstrap.toml syntax) - #151052 (ui: add regression test for macro resolution ICE (issue #150711)) - #151053 (Reduce flakyness for `tests/rustdoc-gui/notable-trait.goml`) - #151055 (Emit error instead of delayed bug when meeting mismatch type for const array) r? @ghost
rust-timer
added a commit
that referenced
this pull request
Jan 14, 2026
Rollup merge of #151031 - reflect-arrays, r=oli-obk Support arrays in type reflection Tracking issue: #146922 This PR adds support for inspecting arrays `[T; N]` through type reflection. It does so by adding `TypeKind::Array` and the `Array` struct: ```rust pub struct Array { pub element_ty: TypeId, pub len: usize, } ``` This can be used to inspect arrays like so: ```rust match const { Type::of::<[u16; 4]>() }.kind { TypeKind::Array(array) => { assert_eq!(array.element_ty, TypeId::of::<u16>()); assert_eq!(array.len, 4); } _ => unreachable!(), } ``` r? @oli-obk
This was referenced Feb 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tracking issue: #146922
This PR adds support for inspecting arrays
[T; N]through type reflection. It does so by addingTypeKind::Arrayand theArraystruct:This can be used to inspect arrays like so:
r? @oli-obk